לוקליזציה היא תהליך של התאמת אתר לשפה ולמיקום גיאוגרפי מסוימים. המדריך הבא ידון באלמנטים השונים של התאמת אתר לשפות שונות ובכלים שקיימים ב-PHP לפיתוח אתרים שדוברים יותר משפה אחת.
לוקליזציה ב-PHP (חלק שני).
הקדמה
המדריך הזה הוא החלק הראשון של מדריך בעל שני חלקים על gettext ועל לוקליזציה באתר. בגלל אילוצים של זמן המדריך מחולק לשניים. החלק הראשון יעסוק בקידוד וייתן הסבר קצר על מה זה ואיך זה עובד, והחלק השני ידון בשימוש בפונקציות gettext ו-Poedit על מנת לנהל קטלוגים של מחרוזות תרגום.
נסתכל לרגע על העמוד הבא מתוך דפי העזרה של גוגל. אם נרד לתחתית העמוד נראה אלמנט select שמאפשר לנו לבחור את השפה של העמוד. אם נבחר מן הרשימה בעברית, לדוגמה, גוגל תציג את הדף מתורגם לעברית. במדריך הבא אנחנו נממש פונקציונאליות דומה באמצעות PHP ונסביר בתהליך מושגים מתחום הלוקליזציה.
קידוד
המחשב עובד באמצעות מספרים. המספרים האלה מייצגים את כל הפעולות שאותם מבצע המחשב ואת כל המידע שבו הוא משתמש. בני אדם, לעומת זאת, נוטים להעדיף טקסט; יש לנו היסטוריה ארוכה של שימוש בסימנים שונים לייצוג מידע, סימנים שאנו קוראים להם אותיות. מכיוון שהמחשב מייצג הכל בתור מספרים, גם אותיות מיוצגות בתור מספרים. בכדי לייצג למשל את האות A באנגלית, המחשב ישתמש במספר 65, ולייצוג האות B הוא ישתמש במספר 66. הטבלה שממירה מספר לאות ספיציפית נקראת קידוד. הקידוד הבסיסי ביותר נקרא ASCII והוא מכיל את כל האלף-בית האנגלי (כולל אותיות רישיות ואותיות קטנות), את הספרות 0 עד 9, תווי בקרה מיוחדים (כמו תו שמרמז על סיומו של קובץ) ותווים שימושיים אחרים, כמו @ או ~.
למרות ש-ASCII יכולה להיות מאוד שימושית אם השפה היחידה שבה משתמשים היא אנגלית, היא הופכת למוגבלת מאוד ברגע שרוצים להוסיף שפות נוספות. לצורך הזה פיתחו קידודים נוספים שתומכים בעוד תווים, כמו windows-1255, שמכילה תמיכה בעברית והיא אחד הקידודים הנפוצים באתרים דוברי עברית. אך מה קורה אם רוצים לייצג גם תווים בעברית וגם תווים ביפנית? מהר מאוד מגלים שהקידודים השונים מוגבלים מאוד. לכן פיתחו את Unicode, שהוא סטנדרט לקידוד שמכיל כמות אדירה של סמלים. בין השאר הוא תומך ברוב שפות הכתיבה ובכמות גדולה של סמלים שונים, כמו הסמל של השקל ושל הסמיילי. ישנם מספר קידודים שמשתמשים ב-Unicode, הנפוץ ביותר וזה שהמדריך יתרכז בו הוא UTF-8.
עורך הטקסט שבו משתמשים צריך להיות מוגדר לכתיבה עם הקידוד UTF-8. עכשיו יהיה זמן טוב להבטיח שזה המקרה, הדרך הספיציפית לעשות את זה תלויה בעורך הטקסט.
תגובות לכתבה:
מחכה לראות את ההמשך אחרי האינטריגה :)
---
כדי שהיה ברור, המדריך לא מציעה לכם להישתמש ב windows-1255, אלה רק מזכיר את קיומו.
להישתמש באתר שלכם עדיף ב utf-8.
בנוסף, אתרים עם הבדלי כתיבה (ימין לשמאל ושמאל לימין) דורשים קצת יותר שינויים.
הסקריפט ltr2rtl יכול לעזור לכם לתרגם עיצוב מאנגלית (שמאל לימין) לעברית (ימין לשמאל)
או הפוך.
https://github.com/intval/ltr2rtl
לא היה לי זמן להמשיך את המדריך, אז במקום לחכות פשוט פירסמתי, מקווה שזה לא בעיה :-).
iosolidar
windows-1255 עובד גם במקינטוש?
מחכה בקוצר רוח לחלק השני ;)
תודה רבה לך.
תודה. :)
המאמר כתוב נהדר. ^_^
מעניין.
תודה רבההה :)
^_______________________________^
מחקה בקוצר רוח לראות את החלק הבא. תודה